/**
 * Copyright 2025 Adobe. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

@import url("./spectrum-badge.css");

/* center align icons and text */

:host {
    align-items: center;
}

/* cascade badge's size to its icon */

:host([size="xs"]) {
    --spectrum-icon-size: var(--spectrum-workflow-icon-size-50);
}

:host([size="s"]) {
    --spectrum-icon-size: var(--spectrum-workflow-icon-size-75);
}

:host([size="m"]) {
    --spectrum-icon-size: var(--spectrum-workflow-icon-size-100);
}

:host([size="l"]) {
    --spectrum-icon-size: var(--spectrum-workflow-icon-size-200);
}

:host([size="xl"]) {
    --spectrum-icon-size: var(--spectrum-workflow-icon-size-300);
}

:host([size="xxl"]) {
    --spectrum-icon-size: var(--spectrum-workflow-icon-size-400);
}

/* don't shrink icons and ensure they're separated from labels */

::slotted([slot="icon"]) {
    flex-shrink: 0;
}

/* limit badge size to two lines */

.label slot {
    display: block;
    max-height: calc(var(--spectrum-badge-line-height) * var(--spectrum-badge-font-size) * 2);
    overflow: hidden;
}

[icon-only] + .label {
    display: none;
}
